var WxParse = require('../../wxParse/wxParse.js');
var app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    navBarHeight: 44, // 默认导航栏高度
    menuButtonTop: 0, // 菜单按钮上边距
    menuButtonHeight: 32, // 菜单按钮高度

    indicator_dots:true,
    autoplay:true,
    interval:2000,
    duration:1000,

    id:'',
    content:'',
    info:{}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const systemInfo = wx.getSystemInfoSync()
     // 获取菜单按钮(胶囊按钮)的位置信息
     const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
     
     this.setData({
       statusBarHeight: systemInfo.statusBarHeight,
       menuButtonTop: menuButtonInfo.top,
       menuButtonHeight: menuButtonInfo.height,
       // 计算导航栏总高度 = (胶囊按钮上边距 - 状态栏高度) * 2 + 胶囊按钮高度
       navBarHeight: (menuButtonInfo.top - systemInfo.statusBarHeight) * 2 + menuButtonInfo.height
     })

     this.setData({
       id:options.id
     })

     this.info()

  },

  back_action(){
    wx.navigateBack()
  },

  copy(){
    var file = 'https://3115.srkjapp.com/'+this.data.info.file_model
    wx.setClipboardData({
      data: file,
      success: () => wx.showModal({
        title: '提示',
        content: '复制成功，请到浏览器粘贴访问',
        complete: (res) => {
          if (res.cancel) {
            
          }
      
          if (res.confirm) {
            
          }
        }
      })
    });  
    
  },

  content(e){
    wx.previewImage({
      urls: [e.currentTarget.dataset.id],
    })
  },

  save(){
    var file = 'https://3115.srkjapp.com/'+this.data.info.file_model
    // 下载GLB文件到小程序临时目录
    wx.downloadFile({
      url: file, // GLB文件远程地址
      success(res) {
        if (res.statusCode === 200) {
          const tempFilePath = res.tempFilePath
          
          // 保存到本地缓存
          wx.saveFile({
            tempFilePath: tempFilePath,
            success(res) {
              const savedFilePath = res.savedFilePath
              console.log('文件保存成功', savedFilePath)
              
              // 提示用户保存成功
              wx.showToast({
                title: '模型保存成功',
                icon: 'success'
              })
              
              // 可以在这里记录文件路径供后续使用
              wx.setStorageSync('glbFilePath', savedFilePath)
            },
            fail(err) {
              console.error('保存失败', err)
              wx.showToast({
                title: '保存失败',
                icon: 'none'
              })
            }
          })
        }
      },
      fail(err) {
        console.error('下载失败', err)
        wx.showToast({
          title: '下载失败',
          icon: 'none'
        })
      }
    })
  },

  info(){
    var that = this
    wx.request({
      url: getApp().globalData.httpUrl+"srapi/home/goods_info",
      header: {
        'content-type': 'application/x-www-form-urlencoded','appid':getApp().globalData.appId
      },
      method: 'POST',
      data:{
        id:that.data.id
      },
      dataType: 'json',
      success: function(re) {
        that.setData({
          info:re.data.data,
          content:re.data.data.content
        })
        var article = re.data.data.content
        WxParse.wxParse('article', 'html', article, that, 5)
      }
    })
  },

  // 保存图片
  handleSaveImage() {
    var image = this.data.info.image
    // 检查权限
    wx.getSetting({
      success: (res) => {
        if (!res.authSetting['scope.writePhotosAlbum']) {
          // 未授权，先申请权限
          wx.authorize({
            scope: 'scope.writePhotosAlbum',
            success: () => {
              // 用户同意授权
              this.downloadAndSaveImage(image)
            },
            fail: () => {
              // 用户拒绝授权
              this.handleSaveImageFail({
                errMsg: 'auth deny'
              })
            }
          })
        } else {
          // 已授权，直接保存
          this.downloadAndSaveImage(image)
        }
      }
    })
  },
  

  downloadAndSaveImage(imgUrl, tip = '图片下载中...') {
    wx.showLoading({
      title: tip,
      mask: true
    })
    console.log(imgUrl)
    // 下载图片
    wx.downloadFile({
      url: imgUrl,
      success: (res) => {
        if (res.statusCode === 200) {
          // 保存到相册
          wx.saveImageToPhotosAlbum({
            filePath: res.tempFilePath,
            success: () => {
              wx.hideLoading()
              wx.showToast({
                title: '保存成功',
                icon: 'success'
              })
            },
            fail: (err) => {
              wx.hideLoading()
              this.handleSaveImageFail(err)
            }
          })
        } else {
          wx.hideLoading()
          wx.showToast({
            title: '下载失败',
            icon: 'none'
          })
        }
      },
      fail: (err) => {
        wx.hideLoading()
        wx.showToast({
          title: '下载失败',
          icon: 'none'
        })
        console.error('下载失败', err)
      }
    })
  },
  
  /**
   * 处理保存图片失败的情况
   */
  handleSaveImageFail(err) {
    console.error('保存失败', err)
    
    if (err.errMsg.includes('auth deny') || err.errMsg.includes('auth denied')) {
      wx.showModal({
        title: '提示',
        content: '需要您授权保存图片到相册',
        confirmText: '去设置',
        success(res) {
          if (res.confirm) {
            wx.openSetting()
          }
        }
      })
    } else {
      wx.showToast({
        title: '保存失败',
        icon: 'none'
      })
    }
  },
 

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})